package com.an.trip.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.an.common.annotation.ExcelDictFormat;
import com.an.common.convert.ExcelDictConvert;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;


/**
 * 行程每日记录视图对象 trip_daily_record
 *
 * @author Ann
 * @date 2024-12-04
 */
@Data
@ExcelIgnoreUnannotated
public class TripDailyRecordVo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 行程ID
     */
    private Long tripId;
    /**
     * 父ID
     */
    private Long parentId;

    /**
     * 指派人
     */
    private Long assigner;

    /**
     * 指派人
     */
    @ExcelProperty(value = "指派人")
    private String assignerName;

    /**
     * 出车人
     */
    private Long driver;

    /**
     * 出车人
     */
    @ExcelProperty(value = "出车人")
    private String driverName;

    /**
     * 起点
     */
    @ExcelProperty(value = "起点")
    private String departureLocation;

    /**
     * 目的地
     */
    @ExcelProperty(value = "目的地")
    private String destination;

    /**
     * 行驶里程
     */
    @ExcelProperty(value = "行驶里程(km)")
    private BigDecimal mileage;

    /**
     * 发车时间
     */
    @ExcelProperty(value = "发车时间")
    private Date startTime;

    /**
     * 结束时间
     */
    @ExcelProperty(value = "结束时间")
    private Date endTime;

    /**
     * 出行天数
     */
    @ExcelProperty(value = "出行天数")
    private Long days;

    /**
     * 费用
     */
    @ExcelProperty(value = "费用")
    private BigDecimal fare;

    /**
     * 结账状态
     */
    @ExcelProperty(value = "结账状态",converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "trip_settle_status")
    private String settleStatus;
    /**
     * 委派状态  0：未指派，1：已指派，2：被指派
     */
    @ExcelProperty(value = "委派状态",converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "trip_delegate_status")
    private String delegateStatus;

    /**
     * 结账人
     */
    @ExcelProperty(value = "结账人")
    private String settledBy;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;


}
